@@ -182,7 +182,10 @@ urlpatterns += [ |
||
182 | 182 |
url(r'^mini/userinfo$', mini_views.get_userinfo_api, name='get_userinfo_api'), # 获取用户信息 |
183 | 183 |
url(r'^mini/login$', mini_views.mini_login_api, name='mini_login_api'), # 小程序登录 |
184 | 184 |
url(r'^mini/userinfo2$', mini_views.get_userinfo_api2, name='get_userinfo_api2'), # 获取用户信息 |
185 |
+] |
|
185 | 186 |
|
187 |
+urlpatterns += [ |
|
188 |
+ url(r'^jsapi/hb$', redpack_views.jsapi_hb_api, name='jsapi_hb_api'), # JSAPI红包 |
|
186 | 189 |
url(r'^mini/hb$', redpack_views.mini_hb_api, name='mini_hb_api'), # 小程序红包 |
187 | 190 |
] |
188 | 191 |
|
@@ -10,6 +10,42 @@ from account.models import UserInfo |
||
10 | 10 |
WECHAT = settings.WECHAT |
11 | 11 |
|
12 | 12 |
|
13 |
+def jsapi_hb_api(request): |
|
14 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
15 |
+ user_id = request.POST.get('user_id', '') |
|
16 |
+ transfer = request.POST.get('transfer', '') |
|
17 |
+ |
|
18 |
+ try: |
|
19 |
+ user = UserInfo.objects.get(user_id=user_id) |
|
20 |
+ except UserInfo.DoesNotExist: |
|
21 |
+ return response() |
|
22 |
+ |
|
23 |
+ openid = user.openid |
|
24 |
+ amount = 100 |
|
25 |
+ |
|
26 |
+ trade_type = 'JSAPI' |
|
27 |
+ # 根据 trade_type 获取 wechat 配置 |
|
28 |
+ wxcfg = WECHAT.get(trade_type, {}) |
|
29 |
+ # WeChatPay 初始化 |
|
30 |
+ wxpay = WeChatPay(wxcfg.get('appID'), wxcfg.get('apiKey'), wxcfg.get('mchID'), mch_cert=wxcfg.get('mch_cert'), mch_key=wxcfg.get('mch_key')) |
|
31 |
+ |
|
32 |
+ if transfer: |
|
33 |
+ ret_data = wxpay.transfer.transfer(openid, amount, u'企业付款', check_name='NO_CHECK') |
|
34 |
+ else: |
|
35 |
+ wxrpk = wxcfg.get('redpack', {}) |
|
36 |
+ ret_data = wxpay.redpack.send( |
|
37 |
+ openid, |
|
38 |
+ amount, |
|
39 |
+ send_name=wxrpk.get('SEND_NAME'), |
|
40 |
+ act_name=wxrpk.get('ACT_NAME'), |
|
41 |
+ wishing=wxrpk.get('WISHING'), |
|
42 |
+ remark=wxrpk.get('REMARK'), |
|
43 |
+ miniprogram=False, |
|
44 |
+ ) |
|
45 |
+ |
|
46 |
+ return response(200, data=ret_data) |
|
47 |
+ |
|
48 |
+ |
|
13 | 49 |
def mini_hb_api(request): |
14 | 50 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
15 | 51 |
user_id = request.POST.get('user_id', '') |